- 非法命名。drawable、layout 等资源 文件中,文件名不允许大写,以及 使用非法字符。最好使用 小写字母、数字、下划线命名。(图片中如果有 xx.png xx.9.png 同时存在,也可能导致无法生成 R)
- manifest.xml 文件内有错误,manifest 文件异常会直接导致R文件无法生成,主要是标签是否完整,属性是否正确
- layout 文件内部含有错误,这个注意一下,有一些错误不会在 layout.xml 中提示,比如多了一个“ " ”,拼写出错之类的,总之这类问题 很奇葩。
- 编译器问题。所有的工程都无法生成R基本就是这类了,一般是由于ADT版本问题,升级一下就可以。
1、直接聚焦工程内部问题哈,首先 Fix project ,会自动检查xml 中的简单错误,然后 clean。
2、查看你最近编辑的资源文件(layout、drawable、manifest),看之不是有错误,基本上都是因为新改动的地方出的错。检查到之后,执行1、
3、绝招:如果资源文件过多,你又不知道大约是哪里出了问题,ok,
a、把工程copy 一份出来
b、新建一个工程
· c、把原来工程的资源文件挨个儿copy到新建的工程里面去(注意copy顺序,最好是图片 > value > layout)
d、每copy 一次,看新建的工程是否出错,如果R 无法生成,ok,就是最后copy的那个文件夹里面的问题。
e、如果还无法确定具体是那个文件,那就将这个文件夹里面的文件挨个删掉,知道新建工程可以生成R 为止,你最后删除的那个就是出错的文件,检查一下